package com.warm.base.algorithm.sort;

public class Selection extends AbstractAscSort {

    /**
     * 找到数组中最小的那个数与第一个位置交换,
     * 然后找到下一个小的与第二个位置交换, 循环往复
     */
    @Override
    public void sort(Comparable[] a) {
        int N = a.length;
        for (int i = 0; i < N; i++) {
            int min = i;
            for (int j = i+1; j < N; j++) {
                if(less(a[j], a[min])) min = j;
            }
            exch(a, i, min);
        }
    }

}
